package com.zzl.finance.data.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zzl.finance.data.dto.AddressBookAddDto;
import com.zzl.finance.data.dto.AddressBookUpdateDto;
import com.zzl.finance.data.entity.AddressBookEntity;
import com.zzl.general.common.exception.SysException;
import com.zzl.general.common.serurity.entity.User;
import com.zzl.general.common.utils.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * @author sunpp
 * @date 2021-11-29 13:17:46
 */
@SuppressWarnings("javadoc")
public interface AddressBookService extends IService<AddressBookEntity> {

    /**
     * 分页查询
     *
     * @param params 查询参数
     * @return 分页数据
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 新增
     *
     * @param addressOokAddDto 新增实体
     * @param user             当前登录用户
     * @throws SysException 业务异常
     */
    void saveAddressBook(AddressBookAddDto addressOokAddDto, User user) throws SysException;

    /**
     * 修改
     *
     * @param addressOokUpdateDto 修改实体
     * @param user                当前登录用户
     * @throws SysException 业务异常
     */
    void updateAddressOokById(AddressBookUpdateDto addressOokUpdateDto, User user) throws SysException;

    /**
     * 查询通讯录 下拉框公司数据
     *
     * @param user 当前登录用户
     * @return 返回公司数据
     */
    List<Map<String, Object>> pullDownValue(User user);

    /**
     * 设置/取消 联系人是否为 常用联系人
     *
     * @param id   id
     * @param user 登录用户
     * @return 提示消息
     * @throws SysException 业务异常
     */
    String isTop(String id, User user) throws SysException;
}

